package com.nexus.core.query.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 查询注解
 * @Date 2025/7/24 17:20
 * @Author luzhengning
 **/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface QueryCondition {

    /**
     * 数据表列名
     */
    String tableField() default "";

    /**
     * 查询操作类型
     */
    QueryType type() default QueryType.EQ;



    /**
     * 忽略空值（默认true）
     */
    boolean ignoreNull() default true;

    /**
     * 范围查询分隔符（用于BETWEEN类型）
     */
    String rangeSeparator() default ",";

    /**
     * IN查询分隔符（用于IN类型）
     */
    String inSeparator() default ",";

    /**
     * 排序方向
     */
    QuerySort order() default QuerySort.CUSTOM;

    /**
     * 排序优先级（值越小优先级越高）
     */
    int priority() default 0;
}